package com.smartboot.plus.controller;

import com.smartboot.plus.api.R;
import com.smartboot.plus.ignite.cache.MqttNodeCache;
import com.smartboot.plus.page.IPage;
import com.smartboot.plus.service.MqttNodeService;
import com.smartboot.plus.support.Condition;
import com.smartboot.plus.support.Query;
import tech.smartboot.feat.cloud.annotation.*;

/**
 * 集群
 */
@Controller("/cluster")
public class ClusterController {


    @Autowired
    private MqttNodeService mqttNodeService;

    /**
     * 分页
     *
     * @param query
     */
    @RequestMapping("/page")
    public R<IPage<MqttNodeCache>> page(@Param("nodeId") String nodeId, @Param("clusterStatus") String clusterStatus, @Param("status") String status, Query query) {
        IPage<MqttNodeCache> page = mqttNodeService.selectPage(Condition.getPage(query), nodeId, clusterStatus, status);
        return R.data(page);
    }


    /**
     * 删除
     *
     * @param id
     */
    @RequestMapping("/remove/:id")
    public R<Object> remove(@PathParam("id") String id) {

        return R.status(mqttNodeService.remove(id));
    }


    /**
     * 修改状态
     *
     * @param id
     * @param status
     */
    @RequestMapping("/status")
    public R<Object> updateSwitch(@Param("id") String id, @Param("status") Integer status) {
        return R.status(mqttNodeService.updateSwitch(id, status));

    }

}
